/**
 * <copyright>
 * </copyright>
 *

 */
package hu.bme.mit.androtext.androres.androResDsl.impl;

import hu.bme.mit.androtext.androres.androResDsl.*;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.impl.EFactoryImpl;

import org.eclipse.emf.ecore.plugin.EcorePlugin;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Factory</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class AndroResDslFactoryImpl extends EFactoryImpl implements AndroResDslFactory
{
  /**
   * Creates the default factory implementation.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public static AndroResDslFactory init()
  {
    try
    {
      AndroResDslFactory theAndroResDslFactory = (AndroResDslFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.bme.hu/mit/androtext/androres/AndroResDsl"); 
      if (theAndroResDslFactory != null)
      {
        return theAndroResDslFactory;
      }
    }
    catch (Exception exception)
    {
      EcorePlugin.INSTANCE.log(exception);
    }
    return new AndroResDslFactoryImpl();
  }

  /**
   * Creates an instance of the factory.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public AndroResDslFactoryImpl()
  {
    super();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  @Override
  public EObject create(EClass eClass)
  {
    switch (eClass.getClassifierID())
    {
      case AndroResDslPackage.ANDRO_RES_MODEL_ROOT: return createAndroResModelRoot();
      case AndroResDslPackage.RESOURCE: return createResource();
      case AndroResDslPackage.STRING_RESOURCE: return createStringResource();
      case AndroResDslPackage.INTEGER_RESOURCE: return createIntegerResource();
      case AndroResDslPackage.BOOLEAN_RESOURCE: return createBooleanResource();
      case AndroResDslPackage.COLOR_RESOURCE: return createColorResource();
      case AndroResDslPackage.DIMENSION_RESOURCE: return createDimensionResource();
      case AndroResDslPackage.ARRAY_RESOURCE: return createArrayResource();
      case AndroResDslPackage.INTEGER_ARRAY_RESOURCE: return createIntegerArrayResource();
      case AndroResDslPackage.INTEGER_ARRAY_ENTRY: return createIntegerArrayEntry();
      case AndroResDslPackage.STRING_ARRAY_RESOURCE: return createStringArrayResource();
      case AndroResDslPackage.STRING_ARRAY_ENTRY: return createStringArrayEntry();
      case AndroResDslPackage.DRAWABLE_RESOURCE: return createDrawableResource();
      case AndroResDslPackage.BITMAP_DRAWABLE_RESOURCE: return createBitmapDrawableResource();
      case AndroResDslPackage.TRANSITION_DRAWABLE_RESOURCE: return createTransitionDrawableResource();
      default:
        throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
    }
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public AndroResModelRoot createAndroResModelRoot()
  {
    AndroResModelRootImpl androResModelRoot = new AndroResModelRootImpl();
    return androResModelRoot;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public Resource createResource()
  {
    ResourceImpl resource = new ResourceImpl();
    return resource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public StringResource createStringResource()
  {
    StringResourceImpl stringResource = new StringResourceImpl();
    return stringResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public IntegerResource createIntegerResource()
  {
    IntegerResourceImpl integerResource = new IntegerResourceImpl();
    return integerResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public BooleanResource createBooleanResource()
  {
    BooleanResourceImpl booleanResource = new BooleanResourceImpl();
    return booleanResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ColorResource createColorResource()
  {
    ColorResourceImpl colorResource = new ColorResourceImpl();
    return colorResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public DimensionResource createDimensionResource()
  {
    DimensionResourceImpl dimensionResource = new DimensionResourceImpl();
    return dimensionResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public ArrayResource createArrayResource()
  {
    ArrayResourceImpl arrayResource = new ArrayResourceImpl();
    return arrayResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public IntegerArrayResource createIntegerArrayResource()
  {
    IntegerArrayResourceImpl integerArrayResource = new IntegerArrayResourceImpl();
    return integerArrayResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public IntegerArrayEntry createIntegerArrayEntry()
  {
    IntegerArrayEntryImpl integerArrayEntry = new IntegerArrayEntryImpl();
    return integerArrayEntry;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public StringArrayResource createStringArrayResource()
  {
    StringArrayResourceImpl stringArrayResource = new StringArrayResourceImpl();
    return stringArrayResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public StringArrayEntry createStringArrayEntry()
  {
    StringArrayEntryImpl stringArrayEntry = new StringArrayEntryImpl();
    return stringArrayEntry;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public DrawableResource createDrawableResource()
  {
    DrawableResourceImpl drawableResource = new DrawableResourceImpl();
    return drawableResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public BitmapDrawableResource createBitmapDrawableResource()
  {
    BitmapDrawableResourceImpl bitmapDrawableResource = new BitmapDrawableResourceImpl();
    return bitmapDrawableResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public TransitionDrawableResource createTransitionDrawableResource()
  {
    TransitionDrawableResourceImpl transitionDrawableResource = new TransitionDrawableResourceImpl();
    return transitionDrawableResource;
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public AndroResDslPackage getAndroResDslPackage()
  {
    return (AndroResDslPackage)getEPackage();
  }

  /**
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @deprecated
   * @generated
   */
  @Deprecated
  public static AndroResDslPackage getPackage()
  {
    return AndroResDslPackage.eINSTANCE;
  }

} //AndroResDslFactoryImpl
